﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;

namespace Zore.App.Shared.Helpers
{
    public class RegexHelper
    {
        // 中国大陆手机号码正则表达式
        private static readonly string ChinaPhonePattern = @"^(\+86)?(1[3-9]\d{9})$";

        // 国际手机号码的正则表达式（根据需要调整）
        // 对于更多国家和地区，可以考虑使用更复杂的正则表达式
        private static readonly string InternationalPhonePattern = @"^\+?[1-9]\d{1,14}$";
        /// <summary>
        /// 验证手机号码
        /// </summary>
        /// <param name="phoneNumber">待验证的手机号码</param>
        /// <param name="isInternational">是否为国际号码</param>
        /// <returns>返回验证结果</returns>
        public static bool ValidatePhoneNumber(string phoneNumber, bool isInternational = false)
        {
            if (string.IsNullOrWhiteSpace(phoneNumber))
            {
                throw new ArgumentException("电话号码不能为空", nameof(phoneNumber));
            }

            string pattern = isInternational ? InternationalPhonePattern : ChinaPhonePattern;

            return Regex.IsMatch(phoneNumber, pattern);
        }
    }
}
